package com.sjsu.aws.doublebarrier;

/**
 * 
 * @author Pawar Deepali
 *
 */
public interface DoubleBarrierService {
	
	/**
	 * 
	 * @param db
	 * @return
	 * @throws Exception
	 */
	public int getNoOfBarrierPaticipants(DoubleBarrier db) throws Exception;
	
	/**
	 * 
	 * @param db
	 * @throws Exception
	 */
	public void addParticipantToBarrier(DoubleBarrier db) throws Exception;
	
	/**
	 * 
	 * @param db
	 * @throws Exception
	 */
	public void removeParticipantFromBarrier(DoubleBarrier db) throws Exception;
	
	/**
	 * 	
	 * @param db
	 * @throws Exception
	 */
	public void renewEphemeralMembership(DoubleBarrier db) throws Exception;
	
	public void deleteTimeOutSessionsForEphemeralNode() throws Exception;
	
	public void deleteEphemeralNodesOnDisconnect() throws Exception;
	
}
